home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_jvm.h" /*No:NATIVE_INLINE_WITH_CURRENT.jvm_add_method_for_procedure*/ /*No:NATIVE_INLINE_WITH_CURRENT.jvm_add_method_for_function*/ /*No:NATIVE_INLINE_WITH_CURRENT.jvm_mapping_procedure*/ /*No:NATIVE_INLINE_WITH_CURRENT.jvm_define_procedure*/ /*No:NATIVE_INLINE_WITH_CURRENT.use_current*/ /*No:NATIVE_INLINE_WITH_CURRENT.jvm_define_function*/ /*No:NATIVE_INLINE_WITH_CURRENT.fatal_error*/ void r240fe_c2jvm(T0* a1){ r683add_position(r228target_position(((T228*)(oBC364jvm)))); r683add_position(X496start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_845); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:NATIVE_INLINE_WITH_CURRENT.jvm_mapping_function*/ void r913get_started(T913* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T764*)((T764*)((((T913*)C))->_list/*0*/))))->_upper/*8*/))) { r153add_into(((T153*)(r764item(((T764*)((((T913*)C))->_list/*0*/)),_i))),a1); _i=(_i)+(1); } } /*No:FEATURE_CLAUSE_LIST.make*/ /*No:FEATURE_CLAUSE_LIST.list*/ /*No:FEATURE_CLAUSE_LIST.add_last*/ int r870result_is_current(T870* C){ int R=0; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { /*IF*/if (X662is_current(_e)) { R=1; } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.arguments*/ int r870direct_call(T870* C){ int R=0; T0* _rf4=NULL; T0* _args=NULL; T0* _c=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if ((((_e)!=((void*)(NULL)))&&(((((T870*)C))->_arguments/*20*/)==((void*)(NULL))))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c=_e; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((_c)!=((void*)(NULL))) { /*IF*/if (X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/))) { _rf4=X295run_feature(_c); if(NULL!=(_rf4))switch(((T0*)_rf4)->id) { case 870: break; default: _rf4=NULL; };/*IF*/if ((_rf4)!=((void*)(NULL))) { _args=X295arguments(_c); /*IF*/if ((_args)==((void*)(NULL))) { R=1; } else { R=r431is_static(((T431*)_args)); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_result_is_current*/ int r870dc_pco1(T870* C){ int R=0; T0* _rf6=NULL; T0* _c=NULL; _c=r870body_one_dc_pco(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/)))) { _rf6=X295run_feature(_c); if(NULL!=(_rf6))switch(((T0*)_rf6)->id) { case 868: break; default: _rf6=NULL; };/*IF*/if ((_rf6)!=((void*)(NULL))) { R=!(r868use_current(((T868*)_rf6))); } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_dc_pco2*/ T0* r870body_one_result_dca(T870* C){ T0* R=NULL; T0* _r=NULL; T0* _rf=NULL; T0* _rf2=NULL; T0* _c0c=NULL; T0* _c=NULL; _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((_c)!=((void*)(NULL))) { _c0c=/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/); if(NULL!=(_c0c))switch(((T0*)_c0c)->id) { case 487: break; default: _c0c=NULL; };/*IF*/if ((_c0c)!=((void*)(NULL))) { /*IF*/if (X662is_current((((T487*)((T487*)_c0c)))->_target/*12*/)) { _rf2=(((T487*)((T487*)_c0c)))->_run_feature/*20*/; if(NULL!=(_rf2))switch(((T0*)_rf2)->id) { case 820: break; default: _rf2=NULL; };/*IF*/if ((_rf2)!=((void*)(NULL))) { _r=(((T355*)((T355*)(r820run_class(((T820*)_rf2))))))->_running/*12*/; /*IF*/if (((_r)!=((void*)(NULL)))&&((r396count(((T396*)_r)))==(1))) { _rf=X295run_feature(_c); /*IF*/if ((_rf)!=((void*)(NULL))) { _r=(((T355*)((T355*)(X496run_class(_rf)))))->_running/*12*/; /*IF*/if (((_r)!=((void*)(NULL)))&&((r396count(((T396*)_r)))==(1))) { R=_c; } /*FI*/} else { R=_c; } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.ucs_true*/ int r870dc_pco2(T870* C){ int R=0; T0* _rf6=NULL; T0* _c2=NULL; T0* _c1=NULL; _c1=r870body_one_dc_pco(C); /*IF*/if ((_c1)!=((void*)(NULL))) { _c2=/*X295*/((T0*)(((T121*)((T121*)_c1)))->_target/*12*/); if(NULL!=(_c2))switch(((T0*)_c2)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c2=NULL; };/*IF*/if ((_c2)!=((void*)(NULL))) { _rf6=X295run_feature(_c2); if(NULL!=(_rf6))switch(((T0*)_rf6)->id) { case 868: break; default: _rf6=NULL; };/*IF*/if ((((_rf6)!=((void*)(NULL)))&&(!(r868use_current(((T868*)_rf6)))))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c2)))->_target/*12*/)))) { R=1; } /*FI*/} /*FI*/} /*FI*/return R; } void r870routine_mapping_jvm(T870* C){ int _stack_level=0; int _idx=0; T0* _ct=NULL; T0* _rt=NULL; _ct=(((T870*)C))->_current_type/*4*/; r228push_target_as_target(((T228*)(oBC364jvm))); _stack_level=-((1)+(r228push_arguments(((T228*)(oBC364jvm))))); _rt=(((T870*)C))->_result_type/*24*/; /*IF*/if ((_rt)!=((void*)(NULL))) { _stack_level=(_stack_level)+(X291jvm_stack_space(_rt)); } /*FI*/_idx=r95idx_methodref(((T95*)(oBC364constant_pool)),(T0*)C); r355jvm_invoke(((T355*)(X291run_class(_ct))),_idx,_stack_level); } /*No:RUN_FEATURE_4.rescue_compound*/ /*No:RUN_FEATURE_4.actuals_clients*/ T0* r870jvm_descriptor(T870* C){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0); /*]*/ /*[IRF3.4update_tmp_jvm_descriptor*/r870routine_update_tmp_jvm_descriptor(C); /*]*/ R=oBC496tmp_jvm_descriptor; return R; } /*No:RUN_FEATURE_4.C_value_reader*/ int r870empty_or_null_body(T870* C){ int R=0; T0* _rb=NULL; _rb=(((T870*)C))->_routine_body/*32*/; /*IF*/if ((((_rb)==((void*)(NULL)))||(/*(IRF4.7empty_or_null_body*/((((T592*)((T592*)_rb)))->_list/*8*/)==(NULL)/*)*/))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { C->_static_value_mem=0; C->_is_static_flag=1; R=1; } /*FI*/return R; } void r870method_info_start(T870* C){ int _flags=0; _flags=X291jvm_method_flags((((T870*)C))->_current_type/*4*/); r506start(((T506*)(oBC364method_info)),_flags,X776to_key((((T870*)C))->_name/*16*/),r870jvm_descriptor(C)); } /*No:RUN_FEATURE_4.ucs_in_computation*/ void r870routine_update_tmp_jvm_descriptor(T870* C){ T0* _rt=NULL; T0* _ct=NULL; r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50'); _ct=(((T870*)C))->_current_type/*4*/; X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor); /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { r31jvm_descriptor_in(((T31*)((((T870*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor); } /*FI*/_rt=(((T870*)C))->_result_type/*24*/; /*IF*/if ((_rt)==((void*)(NULL))) { r7append(((T7*)(oBC496tmp_jvm_descriptor)),((T0*)ms153_470)); } else { _rt=X291run_type(_rt); r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\51'); X291jvm_descriptor_in(_rt,oBC496tmp_jvm_descriptor); } /*FI*/} void r870make(T870* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r870run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r870initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r870std_compute_use_current(T870* C){ /*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T870*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T870*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T870*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_4.name*/ int r870arg_count(T870* C){ int R=0; /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T870*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } int r870attribute_reader(T870* C){ int R=0; T0* _rf2=NULL; T0* _c0=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c0=_e; if(NULL!=(_c0))switch(((T0*)_c0)->id) { case 180: case 990: case 767: case 72: case 487: break; default: _c0=NULL; };/*IF*/if ((_c0)!=((void*)(NULL))) { /*IF*/if (X662is_current(/*X752*/((T0*)(((T180*)((T180*)_c0)))->_target/*12*/))) { _rf2=X752run_feature(_c0); if(NULL!=(_rf2))switch(((T0*)_rf2)->id) { case 820: break; default: _rf2=NULL; };/*IF*/if ((_rf2)!=((void*)(NULL))) { R=1; } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } void r870routine_afd_check(T870* C){ /*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T870*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T870*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T870*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_4.local_vars*/ int r870dca(T870* C){ int R=0; T0* _args=NULL; T0* _rf=NULL; T0* _c=NULL; _c=r870body_one_result_dca(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _rf=X295run_feature(_c); /*IF*/if ((_rf)!=((void*)(NULL))) { /*IF*/if ((_rf)!=((void*)(C))) { _args=X295arguments(_c); /*IF*/if ((_args)==((void*)(NULL))) { R=(r870arg_count(C))==(0); } else { R=r431isa_dca_inline(((T431*)_args),(T0*)C,_rf); } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.base_feature*/ /*No:RUN_FEATURE_4.start_position*/ T0* r870body_one_result(T870* C){ T0* R=NULL; T0* _a=NULL; T0* _rb=NULL; _rb=(((T870*)C))->_routine_body/*32*/; /*IF*/if (((_rb)!=((void*)(NULL)))&&((r592count(((T592*)_rb)))==(1))) { _a=r592first(((T592*)_rb)); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };/*IF*/if ((_a)!=((void*)(NULL))) { /*IF*/if (X662is_result((((T629*)((T629*)_a)))->_left_side/*8*/)) { R=(((T629*)((T629*)_a)))->_right_side/*12*/; } /*FI*/} /*FI*/} /*FI*/return R; } int r870jvm_max_locals(T870* C){ int R=0; R=X291jvm_stack_space((((T870*)C))->_current_type/*4*/); /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T870*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T870*)C))->_local_vars/*52*/)))); } /*FI*//*IF*/if (((((T870*)C))->_result_type/*24*/)!=((void*)(NULL))) { R=(R)+(X291jvm_stack_space((((T870*)C))->_result_type/*24*/)); } /*FI*/return R; } int r870jvm_result_offset(T870* C){ int R=0; R=X291jvm_stack_space((((T870*)C))->_current_type/*4*/); /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T870*)C))->_arguments/*20*/)))); } /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { R=(R)+(r620jvm_stack_space(((T620*)((((T870*)C))->_local_vars/*52*/)))); } /*FI*/return R; } /*No:RUN_FEATURE_4.ensure_assertion*/ int r870is_exported_in(T870* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r870clients(C))),a1); return R; } void r870jvm_define_opening(T870* C){ T0* _t=NULL; /*IF*/if (((((T870*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T870*)C))->_result_type/*24*/); X291jvm_initialize_local(_t,r870jvm_result_offset(C)); } /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { r620jvm_initialize(((T620*)((((T870*)C))->_local_vars/*52*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm_old(((T633*)((((T870*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_jvm(((T567*)((((T870*)C))->_require_assertion/*28*/))); } /*FI*/} void r870compute_use_current(T870* C){ /*IF*/if ((X291is_reference((((T870*)C))->_current_type/*4*/))&&(r590no_check(((T590*)(oBC364run_control))))) { C->_use_current_state=1004; } else { r870std_compute_use_current(C); } /*FI*/} /*No:RUN_FEATURE_4.result_type*/ /*No:RUN_FEATURE_4.jvm_field_or_method*/ int r870jvm_argument_offset(T870* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T870*)C))->_current_type/*4*/); R=(R)+(r31jvm_offset_of(((T31*)((((T870*)C))->_arguments/*20*/)),a1)); return R; } /*No:RUN_FEATURE_4.in_line_status*/ /*No:RUN_FEATURE_4.C_a_eq_neq*/ int r870a_eq_neq(T870* C){ int R=0; T0* _e=NULL; T0* _rf=NULL; T0* _c=NULL; _c=r870body_one_result_dca(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _rf=X295run_feature(_c); /*IF*/if (((_rf)==((void*)(NULL)))&&((X295arg_count(_c))==(1))) { _e=r431expression(((T431*)(X295arguments(_c))),1); {int z1=X662isa_dca_inline_argument(_e); if((0==z1)){ } else if((-1==z1)){ R=(r870arg_count(C))==(0); } else{R=(r870arg_count(C))==(1); }} } /*FI*/} /*FI*/return R; } int r870is_static(T870* C){ int R=0; /*IF*/if (r870isa_in_line(C)) { R=(((T870*)C))->_is_static_flag/*64*/; } /*FI*/return R; } int r870value_reader(T870* C){ int R=0; T0* _c0=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c0=_e; if(NULL!=(_c0))switch(((T0*)_c0)->id) { case 180: case 990: case 767: case 72: case 487: break; default: _c0=NULL; };/*IF*/if ((((_c0)!=((void*)(NULL)))&&(X662is_current(/*X752*/((T0*)(((T180*)((T180*)_c0)))->_target/*12*/))))&&((X752run_feature(_c0))==((void*)(C)))) { r683add_position(X662start_position(_e)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_870); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X662is_static(_e)) { R=1; C->_static_value_mem=X662static_value(_e); C->_is_static_flag=1; } /*FI*/} /*FI*/return R; } void r870add_client(T870* C,T0* a1){ int _i=0; /*IF*/if (((((T870*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T870*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r870run_class(C))),a1); } /*No:RUN_FEATURE_4.require_assertion*/ int r870isa_in_line(T870* C){ int R=0; /*IF*/if (r590boost(((T590*)(oBC364run_control)))) { {int z1=(((T870*)C))->_in_line_status/*60*/; if((-1==z1)){ } else if((0==z1)){ R=1; /*IF*/if (r870empty_or_null_body(C)) { C->_in_line_status=1; } else if (r870value_reader(C)) { C->_in_line_status=2; } else if (r870attribute_reader(C)) { C->_in_line_status=3; } else if (r870result_is_current(C)) { C->_in_line_status=4; } else if (r870direct_call(C)) { C->_in_line_status=5; } else if (r870dca(C)) { C->_in_line_status=6; } else if (r870a_eq_neq(C)) { C->_in_line_status=7; } else if (r870dc_pco1(C)) { C->_in_line_status=8; } else if (r870dc_pco2(C)) { C->_in_line_status=9; } else if (r870direct_cse_call(C)) { C->_in_line_status=10; } else { C->_in_line_status=-(1); R=0; } /*FI*/} else{R=1; }} } /*FI*/return R; } /*No:RUN_FEATURE_4.use_current_state*/ T0* r870body_one_dc_pco(T870* C){ T0* R=NULL; T0* _args=NULL; T0* _c=NULL; _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL))))&&(((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))) { _args=X295arguments(_c); /*IF*/if (((_args)==((void*)(NULL)))||(r431is_static(((T431*)_args)))) { R=_c; } /*FI*/} /*FI*/return R; } int r870can_be_dropped(T870* C){ int R=0; R=((((((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL))))&&(((((T870*)C))->_require_assertion/*28*/)==((void*)(NULL))))&&(((((T870*)C))->_ensure_assertion/*36*/)==((void*)(NULL))))&&(((((T870*)C))->_rescue_compound/*40*/)==((void*)(NULL))); /*IF*/if (R) { /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { R=0; } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_dca*/ void r870jvm_define_closing(T870* C){ /*IF*/if (r870use_current(C)) { } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_jvm(((T633*)((((T870*)C))->_ensure_assertion/*36*/)),1); } /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_result_type/*24*/)!=((void*)(NULL))) { X291jvm_push_local((((T870*)C))->_result_type/*24*/,r870jvm_result_offset(C)); } /*FI*/} /*No:RUN_FEATURE_4.mapping_jvm*/ /*No:RUN_FEATURE_4.current_type*/ /*No:RUN_FEATURE_4.C_empty_or_null_body*/ T0* r870run_class(T870* C){ T0* R=NULL; R=X291run_class((((T870*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_4.static_value_mem*/ /*No:RUN_FEATURE_4.fz_19*/ /*No:RUN_FEATURE_4.is_static_flag*/ /*No:RUN_FEATURE_4.ucs_not_computed*/ void r870fall_down(T870* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T870*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T870*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T870*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_4.routine_body*/ /*No:RUN_FEATURE_4.C_attribute_reader*/ /*No:RUN_FEATURE_4.C_direct_call*/ /*No:RUN_FEATURE_4.ucs_false*/ /*No:RUN_FEATURE_4.is_pre_computable*/ T0* r870clients(T870* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T870*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T870*)C))->_current_type/*4*/); _bfbc=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T870*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T870*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r870use_current(T870* C){ int R=0; {int z1=(((T870*)C))->_use_current_state/*44*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; r870compute_use_current(C); R=r870use_current(C); } else {R=1; }} return R; } void r870jvm_define(T870* C){ r870method_info_start(C); r870jvm_define_opening(C); /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_jvm(((T592*)((((T870*)C))->_routine_body/*32*/))); } /*FI*/r870jvm_define_closing(C); X291jvm_return_code(X291run_type((((T870*)C))->_result_type/*24*/)); r506finish(((T506*)(oBC364method_info))); } /*No:RUN_FEATURE_4.us_to_pointer*/ int r870direct_cse_call(T870* C){ int R=0; T0* _rf8=NULL; T0* _c=NULL; /*IF*/if ((((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if (((_c)!=((void*)(NULL)))&&((X295arguments(_c))==((void*)(NULL)))) { _c=/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 180: case 460: case 932: case 990: case 253: case 278: case 767: case 760: case 915: case 534: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 57: case 313: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if (((_c)!=((void*)(NULL)))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/)))) { /*IF*/if ((X295arguments(_c))==((void*)(NULL))) { _rf8=X295run_feature(_c); if(NULL!=(_rf8))switch(((T0*)_rf8)->id) { case 892: break; default: _rf8=NULL; };/*IF*/if ((_rf8)!=((void*)(NULL))) { R=(X776to_string((((T892*)((T892*)_rf8)))->_name/*16*/))==((void*)(((T0*)ms135_473))); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.fatal_error*/ int r870jvm_local_variable_offset(T870* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T870*)C))->_current_type/*4*/); /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T870*)C))->_arguments/*20*/)))); } /*FI*/R=(R)+(r620jvm_offset_of(((T620*)((((T870*)C))->_local_vars/*52*/)),a1)); return R; } /*No:RUN_FEATURE_4.clients_memory*/ void r870initialize(T870* C){ C->_arguments=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_arguments/*28*/; /*IF*/if ((((((T870*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T870*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T870*)C))->_arguments/*20*/)),(((T870*)C))->_current_type/*4*/); } /*FI*/C->_result_type=X291to_runnable((((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_result_type/*12*/,(((T870*)C))->_current_type/*4*/); C->_local_vars=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_local_vars/*20*/; /*IF*/if ((((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T870*)C))->_local_vars/*52*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_local_vars=r620to_runnable(((T620*)((((T870*)C))->_local_vars/*52*/)),(((T870*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_routine_body/*52*/; /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T870*)C))->_routine_body/*32*/)),(((T870*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r696run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r696run_ensure((T0*)C); } /*FI*/} /*No:RUN_FEATURE_4.C_direct_cse_call*/ /*No:RUN_FEATURE_4.C_dc_pco1*/ /*No:RUN_FEATURE_4.afd_check*/ /*No:RUN_FEATURE_4.update_tmp_jvm_descriptor*/ /*No:TYPE_NONE.id*/ /*No:TYPE_NONE.jvm_target_descriptor_in*/ /*No:TYPE_NONE.jvm_if_x_eq*/ int r284has_creation(T284* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r284error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T284*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_284)); return R; } /*No:TYPE_NONE.us_none*/ /*No:TYPE_NONE.is_anchored*/ /*No:TYPE_NONE.is_array*/ /*No:TYPE_NONE.is_a*/ /*No:TYPE_NONE.jvm_to_reference*/ /*No:TYPE_NONE.run_type*/ /*No:TYPE_NONE.is_pointer*/ /*No:TYPE_NONE.is_dummy_expanded*/ int r284jvm_push_default(void){ int R=0; /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1); /*]*/ R=1; return R; } /*No:TYPE_NONE.is_string*/ /*No:TYPE_NONE.is_like_feature*/ /*No:TYPE_NONE.is_like_current*/ void r284make(T284* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms19_473),a1); C->_base_class_name=(T0*)n; } } T0* r284jvm_root_class(void){ if (fBC364jvm_root_class==0){ T0* R=NULL; fBC364jvm_root_class=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7copy(((T7*)R),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/); r7extend(((T7*)R),'\57'); r7append(((T7*)R),((T0*)ms112_470)); oBC364jvm_root_class=R;} return oBC364jvm_root_class;} /*No:TYPE_NONE.jvm_return_code*/ /*No:TYPE_NONE.jvm_xnewarray*/ /*No:TYPE_NONE.jvm_descriptor_in*/ /*No:TYPE_NONE.start_position*/ /*No:TYPE_NONE.is_user_expanded*/ /*No:TYPE_NONE.is_character*/ T0* r284written_mark(void){ T0* R=NULL; R=((T0*)ms19_473); return R; } /*No:TYPE_NONE.is_run_type*/ /*No:TYPE_NONE.to_runnable*/ /*No:TYPE_NONE.is_formal_generic*/ T0* r284generic_list(T284* C){ T0* R=NULL; r284fatal_error_generic_list(C); return R; } /*No:TYPE_NONE.is_real*/ /*No:TYPE_NONE.is_bit*/ void r284fatal_error_generic_list(T284* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_NONE.jvm_check_class_invariant*/ T0* r284jvm_root_descriptor(void){ if (fBC364jvm_root_descriptor==0){ T0* R=NULL; fBC364jvm_root_descriptor=1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); R=(T0*)n; } r7extend(((T7*)R),'L'); r7append(((T7*)R),r284jvm_root_class()); r7extend(((T7*)R),'\73'); oBC364jvm_root_descriptor=R;} return oBC364jvm_root_descriptor;} /*No:TYPE_NONE.jvm_xaload*/ T0* r284smallest_ancestor(T0* a1){ T0* R=NULL; R=a1; return R; } /*No:TYPE_NONE.is_boolean*/ /*No:TYPE_NONE.is_double*/ int r284jvm_stack_space(void){ int R=0; /*IF*//*AF*//*AE*/ R=1; /*FI*/return R; } /*No:TYPE_NONE.run_class*/ T0* r284run_time_mark(void){ T0* R=NULL; R=((T0*)ms19_473); return R; } int r284is_a_in(T284* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r284written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/; _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r284look_up_for(T284* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r284base_class(C))),a1,a2); return R; } /*No:TYPE_NONE.jvm_convert_to*/ /*No:TYPE_NONE.expanded_initializer*/ /*No:TYPE_NONE.fz_jvm_root*/ /*No:TYPE_NONE.jvm_if_x_ne*/ /*No:TYPE_NONE.fz_dot*/ /*No:TYPE_NONE.is_generic*/ /*No:TYPE_NONE.jvm_write_local*/ void r284jvm_initialize_local(int a1){ /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1); /*]*/ /*[IRF3.6jvm_write_local*/{int b1=a1; r256opcode_astore(((T256*)(oBC364code_attribute)),b1); }/*]*/ } /*No:TYPE_NONE.used_as_reference*/ /*No:TYPE_NONE.is_reference*/ void r284error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r284base_class(T284* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T284*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_NONE.jvm_xastore*/ /*No:TYPE_NONE.is_any*/ /*No:TYPE_NONE.jvm_method_flags*/ /*No:TYPE_NONE.base_class_name*/ /*No:TYPE_NONE.jvm_push_local*/ /*No:TYPE_NONE.is_expanded*/ /*No:TYPE_NONE.is_basic_eiffel_expanded*/ /*No:TYPE_NONE.is_none*/ /*No:TYPE_NONE.is_integer*/ /*No:PROCEDURE.arguments*/ T0* r297try_to_undefine(T297* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r297try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T297*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:PROCEDURE.is_deferred*/ /*No:PROCEDURE.fz_bad_assertion*/ T0* r297runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r297error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:PROCEDURE.rescue_compound*/ void r297add_into(T297* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:PROCEDURE.end_comment*/ T0* r297try_to_undefine_aux(T297* C,T0* a1,T0* a2){ T0* R=NULL; {T853*n=malloc(sizeof(*n)); *n=M853; r853from_effective(n,a1,(((T297*)C))->_arguments/*28*/,(((T297*)C))->_require_assertion/*36*/,(((T297*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } void r297make(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r297make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1024; } /*No:PROCEDURE.not_computed*/ /*No:PROCEDURE.nb_errors*/ void r297make_routine(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r297make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } /*No:PROCEDURE.local_vars*/ void r297set_header_comment(T297* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r297start_position(T297* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r297to_run_feature(T297* C,T0* a1,T0* a2){ T0* R=NULL; r297check_obsolete(C); {T832*n=malloc(sizeof(*n)); *n=M832; r832make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:PROCEDURE.ensure_assertion*/ /*No:PROCEDURE.code_require*/ T0* r297run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); _r=r297runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r297run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r297runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T567*n=malloc(sizeof(*n)); *n=M567; /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:PROCEDURE.result_type*/ /*No:PROCEDURE.fz_03*/ /*No:PROCEDURE.em1*/ /*No:PROCEDURE.obsolete_mark*/ /*No:PROCEDURE.set_clients*/ /*No:PROCEDURE.em2*/ /*No:PROCEDURE.names*/ /*No:PROCEDURE.require_assertion*/ /*No:PROCEDURE.use_current_state*/ /*No:PROCEDURE.code_ensure*/ void r297set_rescue_compound(T297* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r297error(r297start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r297can_hide(T297* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r297start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:PROCEDURE.header_comment*/ /*No:PROCEDURE.routine_body*/ int r297is_merge_with(T297* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:PROCEDURE.fz_dot*/ /*No:PROCEDURE.set_ensure_assertion*/ /*No:PROCEDURE.first_name*/ /*No:PROCEDURE.clients*/ void r297collect_for(T297* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T297*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T297*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T297*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T297*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r297error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROCEDURE.base_class*/ void r297make_e_feature(T297* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r297check_obsolete(T297* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T297*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T297*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r297warning(r297start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r297warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } T0*oBC613type_idx=NULL; /*No:EXCEPTION_TABLE.append_u1*/ void r613append_u2(T0* a1,int a2){ /*[IRF3.6append_u1*/{T0* b1=a1; int b2=(a2)/(256); r7extend(((T7*)b1),((char)(b2))); }/*]*/ /*[IRF3.6append_u1*/{T0* b1=a1; int b2=(a2)%(256); r7extend(((T7*)b1),((char)(b2))); }/*]*/ } /*No:EXCEPTION_TABLE.make*/ void r613store_in(T0* a1){ int _i=0; int _c=0; _c=/*(IRF4.9count*//*(IRF4.6count*/((((T226*)((T226*)(oBC613from_pc))))->_upper/*8*/)+(1)/*)*//*)*/; r613append_u2(a1,_c); _i=0; while (!((_i)>=(_c))) { r613append_u2(a1,/*(IRF4.6item*/((((T226*)((T226*)(oBC613from_pc))))->_storage/*0*/)[_i]/*)*/); r613append_u2(a1,/*(IRF4.6item*/((((T226*)((T226*)(oBC613to_pc))))->_storage/*0*/)[_i]/*)*/); r613append_u2(a1,/*(IRF4.6item*/((((T226*)((T226*)(oBC613handler_pc))))->_storage/*0*/)[_i]/*)*/); r613append_u2(a1,/*(IRF4.6item*/((((T226*)((T226*)(oBC613type_idx))))->_storage/*0*/)[_i]/*)*/); _i=(_i)+(1); } } /*No:EXCEPTION_TABLE.clear*/ T0*oBC613to_pc=NULL; T0*oBC613from_pc=NULL; T0*oBC613handler_pc=NULL; /*No:EXCEPTION_TABLE.count*/ /*No:CST_ATT_REAL.arguments*/ T0* r835try_to_undefine(T835* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r835try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T835*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_REAL.is_deferred*/ void r835add_into(T835* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r835try_to_undefine_aux(T835* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r835start_position(C)); r835error(X776start_position(a1),((T0*)ms1_321)); r605fatal_undefine(((T605*)a2),a1); return R; } void r835make(T835* C,T0* a1,T0* a2,T0* a3){ r835make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_REAL.nb_errors*/ /*No:CST_ATT_REAL.set_header_comment*/ T0* r835start_position(T835* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r835to_run_feature(T835* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_REAL.ensure_assertion*/ /*No:CST_ATT_REAL.code_require*/ /*No:CST_ATT_REAL.result_type*/ /*No:CST_ATT_REAL.em1*/ /*No:CST_ATT_REAL.set_clients*/ /*No:CST_ATT_REAL.em2*/ /*No:CST_ATT_REAL.value*/ /*No:CST_ATT_REAL.require_assertion*/ /*No:CST_ATT_REAL.names*/ /*No:CST_ATT_REAL.value_mem*/ int r835can_hide(T835* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_REAL.header_comment*/ int r835is_merge_with(T835* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_REAL.fz_dot*/ /*No:CST_ATT_REAL.first_name*/ /*No:CST_ATT_REAL.clients*/ void r835collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r835error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_REAL.base_class*/ void r835make_e_feature(T835* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:FIELD_INFO.append_u1*/ void r543append_u2(T0* a1,int a2){ /*[IRF3.6append_u1*/{T0* b1=a1; int b2=(a2)/(256); r7extend(((T7*)b1),((char)(b2))); }/*]*/ /*[IRF3.6append_u1*/{T0* b1=a1; int b2=(a2)%(256); r7extend(((T7*)b1),((char)(b2))); }/*]*/ } void r543add(T543* C,int a1,int a2,int a3){ C->_count=((((T543*)C))->_count/*0*/)+(1); r543append_u2(oBC543storage,a1); r543append_u2(oBC543storage,a2); r543append_u2(oBC543storage,a3); r543append_u2(oBC543storage,0); } void r543clear(T543* C){ C->_count=0; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC543storage)))))->_count)=(0); /*]*/ } T0*oBC543storage=NULL; /*No:FIELD_INFO.count*/ void r543write_bytes(T543* C){ r306print_count(((T306*)(oBC364echo)),((T0*)ms1_543),(((T543*)C))->_count/*0*/); r228b_put_u2(((T228*)(oBC364jvm)),(((T543*)C))->_count/*0*/); r228b_put_byte_string(((T228*)(oBC364jvm)),oBC543storage); } /*No:PROC_CALL_N.arguments*/ T0* r568add_comment(T568* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:PROC_CALL_N.fz_bad_arguments*/ void r568make(T568* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:PROC_CALL_N.nb_errors*/ /*No:PROC_CALL_N.feature_name*/ /*No:PROC_CALL_N.arg_count*/ /*No:PROC_CALL_N.run_feature*/ /*No:PROC_CALL_N.set_run_compound*/ T0* r568start_position(T568* C){ T0* R=NULL; R=X776start_position((((T568*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_N.target*/ /*No:PROC_CALL_N.set_run_feature*/ T0* r568to_runnable(T568* C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) { r568to_runnable_0(C,a1); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _a=r431to_runnable(((T431*)((((T568*)C))->_arguments/*20*/)),r568current_type(C)); /*IF*/if ((_a)==((void*)(NULL))) { r568error(r431start_position(((T431*)((((T568*)C))->_arguments/*20*/))),((T0*)ms56_470)); } else { C->_arguments=_a; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T568*)C))->_arguments/*20*/)),(((T568*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,(((T568*)C))->_target/*8*/,(((T568*)C))->_feature_name/*12*/,(((T568*)C))->_arguments/*20*/); R=(T0*)n; } R=r568to_runnable(((T568*)R),a1); } /*FI*/return R; } /*No:PROC_CALL_N.fz_07*/ T0* r568current_type(T568* C){ T0* R=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T568*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:PROC_CALL_N.run_compound*/ /*No:PROC_CALL_N.compile_to_jvm*/ void r568to_runnable_0(T568* C,T0* a1){ C->_run_compound=a1; r568cpc_to_runnable(C,r568current_type(C)); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T568*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T568*)C))->_run_feature/*16*/)); r568error(X776start_position((((T568*)C))->_feature_name/*12*/),((T0*)ms1_173)); } /*FI*/} /*No:PROC_CALL_N.is_pre_computable*/ int r568use_current(T568* C){ int R=0; /*IF*/if ((/*(IRF4.6arg_count*/r431count(((T431*)((((T568*)C))->_arguments/*20*/)))/*)*/)>(0)) { R=r431use_current(((T431*)((((T568*)C))->_arguments/*20*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T568*)C))->_target/*8*/)) { R=X496use_current((((T568*)C))->_run_feature/*16*/); } else { R=X662use_current((((T568*)C))->_target/*8*/); } /*FI*/return R; } void r568cpc_to_runnable(T568* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T568*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T568*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/); } void r568error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROC_CALL_N.fatal_error*/ /*No:PROC_CALL_N.end_mark_comment*/ /*No:PROC_CALL_N.call_proc_call_c2jvm*/ void r568afd_check(T568* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T568*)C))->_target/*8*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T568*)C))->_target/*8*/); /*IF*/if ((/*(IRF4.6arg_count*/r431count(((T431*)((((T568*)C))->_arguments/*20*/)))/*)*/)>(0)) { r431afd_check(((T431*)((((T568*)C))->_arguments/*20*/))); } /*FI*/} T0* r568make_runnable(T568* C,T0* a1,T0* a2,T0* a3,T0* a4){ T0* R=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) { R=(T0*)C; r568make(((T568*)R),a2,(((T568*)C))->_feature_name/*12*/,a3); C->_run_compound=a1; C->_run_feature=a4; } else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,a2,(((T568*)C))->_feature_name/*12*/,a3); R=(T0*)n; } /*[IRF3.3set_run_compound*/((((T568*)(((T568*)R))))->_run_compound)=(a1); /*]*/ /*[IRF3.3set_run_feature*/((((T568*)(((T568*)R))))->_run_feature)=(a4); /*]*/ } /*FI*/return R; } void r362check_creation_clause(T362* C,T0* a1){ /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) { /*[IRF3.6append*/{T0* b1=((T0*)ms1_334); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms2_334)); r362error((((T362*)C))->_start_position/*8*/,((T0*)ms3_334)); } /*FI*/} T0* r362add_comment(T362* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r362check_created_type(T362* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type(a1); /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) { r683add_type(_rt,((T0*)ms2_747)); r683add_position((((T362*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (X291is_formal_generic(a1)) { r683add_position((((T362*)C))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms4_747); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms5_747)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt)))); } /*No:CREATION_CALL_1.writable*/ void r362make(T362* C,T0* a1,T0* a2){ C->_start_position=a1; C->_writable=a2; } /*No:CREATION_CALL_1.start_position*/ T0* r362to_runnable(T362* C,T0* a1){ T0* R=NULL; T0* _t=NULL; /*IF*/if (((((T362*)C))->_run_compound/*4*/)==((void*)(NULL))) { r362check_writable(C,a1); _t=X662result_type((((T362*)C))->_writable/*12*/); r362check_created_type(C,_t); r362check_creation_clause(C,_t); R=(T0*)C; } else { {T362*n=malloc(sizeof(*n)); *n=M362; r362make(n,(((T362*)C))->_start_position/*8*/,(((T362*)C))->_writable/*12*/); R=(T0*)n; } R=r362to_runnable(((T362*)R),a1); } /*FI*/return R; } T0* r362current_type(T362* C){ T0* R=NULL; /*IF*/if (((((T362*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T362*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:CREATION_CALL_1.run_compound*/ /*No:CREATION_CALL_1.compile_to_jvm0*/ void r362compile_to_jvm(T362* C){ T0* _t=NULL; _t=X291run_type(X662result_type((((T362*)C))->_writable/*12*/)); /*[IRF3.6compile_to_jvm0*/{T0* b1=_t; r355jvm_push_default(((T355*)(X291run_class(b1)))); }/*]*/ X291jvm_check_class_invariant(_t); X662jvm_assign((((T362*)C))->_writable/*12*/); } int r362is_pre_computable(T362* C){ int R=0; R=X662is_result((((T362*)C))->_writable/*12*/); return R; } int r362use_current(T362* C){ int R=0; R=X662use_current((((T362*)C))->_writable/*12*/); return R; } void r362check_writable(T362* C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=X662to_runnable((((T362*)C))->_writable/*12*/,r362current_type(C)); /*IF*/if ((_w)==((void*)(NULL))) { r683add_position(X662start_position((((T362*)C))->_writable/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { C->_writable=_w; } /*FI*/} void r362error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CREATION_CALL_1.fatal_error*/ /*No:CREATION_CALL_1.end_mark_comment*/ /*No:CREATION_CALL_1.afd_check*/